package org.zpmis.domain.contract.qo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Data
public class AddContractQo {

    /**
     * 企业id
     */
    @NotNull(message = "企业id不能为空")
    private Long companyId;

    /**
     * 合同名称
     */
    @NotEmpty(message = "合同名称不能为空")
    private String name;


    /**
     * 签约日期
     */
    private Long contractTime;

    /**
     * 签约说明
     */
    private String contractDesc;

    /**
     * 甲方企业名称
     */
    @JsonProperty(value = "aCompanyName")
    private String aCompanyName;

    /**
     * 甲方企业代表人
     */
    @JsonProperty(value = "aCharge")
    private String aCharge;

    /**
     * 甲方合同洽谈人
     */
    @JsonProperty(value = "aTalkPerson")
    private String aTalkPerson;

    /**
     * 甲方合同洽谈人电话
     */
    @JsonProperty(value = "aTalkMobile")
    private String aTalkMobile;

    /**
     * 乙方企业名称
     */
    @JsonProperty(value = "bCompanyName")
    private String bCompanyName;

    /**
     * 乙方企业代表人
     */
    @JsonProperty(value = "bCharge")
    private String bCharge;

    /**
     * 乙方合同洽谈人
     */
    @JsonProperty(value = "bTalkPerson")
    private String bTalkPerson;

    /**
     * 乙方合同洽谈人电话
     */
    @JsonProperty(value = "bTalkMobile")
    private String bTalkMobile;


    /**
     * 丙方企业名称
     */
    @JsonProperty(value = "cCompanyName")
    private String cCompanyName;

    /**
     * 丙方企业代表人
     */
    @JsonProperty(value = "cCharge")
    private String cCharge;

    /**
     * 丙方合同洽谈人
     */
    @JsonProperty(value = "cTalkPerson")
    private String cTalkPerson;

    /**
     * 丙方合同洽谈人电话
     */
    @JsonProperty(value = "cTalkMobile")
    private String cTalkMobile;

    /**
     * 签订合同类型 1两方合同  2三方合同
     */
    private Integer signMode;
    /**
     * 合同内容
     */
    private String content;

    /**
     * 营业执照（附件）
     */
    private String licenseAttachment;

    /**
     * 合同总金额
     */
    private String totalAmount;

    /**
     * 合同附件
     */
    private String contractAttachment;

    /**
     * 合同备注
     */
    private String remark;

    /**
     * 合同生效日期
     */
    private Long effectiveTime;

    /**
     * 合同结束日期
     */
    private Long endTime;

    /**
     * 合同类型 1人事 2代理
     */
    private Integer type;

}